读《”switch” 语句》总结-2020.05.29
学习时间:2020.05.29
学习章节:“switch” 语句
一、主要知识点
switch
的使用方法- 可以用于替代多个
if
判断 case
的值需要严格相等,可以通过break
终止,以及通过case
分组
switch
语句为多分支选择的情况提供了一个更具描述性的方式。
1. switch 语句
当同层级的 if
语句多的时候,为了代码的可读性,可以选择使用 switch
语句来优化。
1.1 语法
switch
语句有至少一个 case
代码块和一个可选的 default
代码块。当 case
的值与输入 x
严格相等的时候,执行 case
下的代码块。遇到最近的 break
或执行到 switch
语句末尾终止。如果没有匹配的 case
,则执行 default
代码块(如果 default
存在)。
1 | switch(x) { |
1.2 switch 语句特性
1. 缺失 break,会继续往下执行
1 | let a = 4 |
上面代码会弹出 3 次,分别打印 qhw1
、qhw2
、qhw3
2. switch/case 参数接受表达式
1 | let a = "1"; |
3. case 分组
1 | let a = 3; |
共享同一段代码的几个 case
分支可以被分为一组,当 a
为 3 或 5 的时候,都会执行,输出 qhw2
、qhw3
。
二、知识点拓展
1. == 的比较
1.1 不同类型值之间比较规则:
不同类型值比较之间,会先对值的类型做转换。
toNumber
toPrimitive
可以通过一个简单的例子来验证 toPrimitive
。
1 | var obj = {}; |
1.2 相同类型值之间的比较规则:
只是比较值是否相等,没有类型转换。
2. 引用类型之间的比较
2.1 数组比较
1 | [] == ![] // true |
2.2 对象比较
1 | {} == !{} //false |